#include"process.h"

#include<stdlib.h>
#include<time.h>

#define target (1024*1024)
#define loadbaserate 1024

void download(callback cb)
{
    int total=0;
    srand(time(0));
    
    printf("\033[?25l");      //隐藏光标
    while(total<target)
   {
        //我们可以用随机数来模拟下载卡顿情况
        int randnum=rand()%51 - 10;//使生成的随机数在-10-30之间，然后我们将负值看做是卡顿
        total+=(randnum>0 ? loadbaserate*randnum : 0);//表示我们的下载速率在0-1024*50之间
        double rate=(total*100.0)/target; //注意这里的宏一定要加括号，不然除以target等于没除,我因为这个地方半天没看出来
        // printf("%d %f\n",total,rate);
        // process_v2(rate);
        cb(rate);
    }
    printf("\n");
    printf("\033[?25h");      //显示光标
}
int main()
{

   // process(); //version 1
   download(process_v2);//直接调用函数
   
   
   return 0;
}
